package main

import "fmt"

/**
贪心算法 当收割机不够时增加一台收割机，如果有闲置则使用闲置
*/

func main() {
	input := [][]int{{1, 4}, {3, 5}, {0, 6}, {5, 7}, {3, 9}}
	sortInput(input)
	workCar := 0
	endTime := []int{}
	for i := 0; i < len(input); i++ {
		if len(endTime) > 0 && input[i][1] > endTime[0] {
			//若比结束时间内最小的时间大，使用这台设备并且更新结束时间
			endTime[0] = input[i][1]
		} else {
			//需要增加一台设备
			workCar++
			endTime = append(endTime, input[i][1])
		}
		sortEndTime(endTime)
	}
	fmt.Println(workCar)
}

func sortInput(input [][]int) {
	for i := 0; i < len(input); i++ {
		for j := i + 1; j < len(input); j++ {
			if input[i][0] > input[j][0] {
				input[i], input[j] = input[j], input[i]
			}
		}
	}
}

func sortEndTime(endTime []int) {
	for i := 0; i < len(endTime); i++ {
		for j := i + 1; j < len(endTime); j++ {
			if endTime[i] > endTime[j] {
				endTime[i], endTime[j] = endTime[j], endTime[i]
			}
		}
	}
}
